Spanish
Configurar DNS de Technitium
Technitium es un servidor DNS y DHCP que se ejecuta desde un contenedor de Docker. Configuraremos el stack de Docker de Technitium DNS; configuraremos el cortafuegos para permitir los puertos necesarios; y levantaremos el stack a través de Arcane. Ya que el DNS va a ejecutarse adentro del servidor, necesitamos asignar al servidor un IP estático en la red local. Configuraremos el servidor para no usar DHCP y asignarse un IP en la red. El stack consiste de los siguientes contenedores:
- Technitium: Servidor DNS y DHCP.
Pasos
- Ejecutar:
./scripts/create_technitium_folder.shpara generar el directorio del contenedor en el SSD. - Editar el archivo del stack:
nano ./files/technitium-stack.yml. - Reemplazar
TZ=America/New_Yorkpor el huso horario de su sistema. Puede usar esta lista como referencia: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. - Ajustar el atributo
ipv4_addressen el contenedortechnitiumcon un IP en el rango no asignable por el DHCP. Por ejemplo 192.168.1.10. - Copiar todo el contenido del archivo al portapapeles. Guardar y salir con
Ctrl + X, Y, Enter. - Ejecutar:
./scripts/dns_firewalld_services.sh. Configura Firewalld para los contenedores. El script abre el puerto para DNS para Technitium. - Agregar stack en Arcane desde el navegador.
- Acceder a Arcane a través de https://server.lan:3552.
- Darle clic a "Projects" en el menú izquierdo y crear un nuevo proyecto.
- Ponerle nombre "technitium" y pegar el contenido del docker-compose.yml que copió al portapapeles y crear el stack. Desde ahora modificaciones al stack se deben de hacer a través de Arcane y no en el archivo.
- Ejecutar:
./scripts/disable_resolved.sh. Desactivamos el servicio de DNS local "systemd-resolved" para desocupar el puerto DNS que necesita Technitium. - Ver el nombre del dispositivo de red físico activo, por ejemplo
enp1s0oeth0:nmcli device status. Si existe más de un dispositivo físico, seleccionar el que esté conectado al router con mejor velocidad. Reemplazar en los comandos siguientesenp1s0por el dispositivo correcto. - Asignar IP estático y rango CIDR:
nmcli con mod enp1s0 ipv4.addresses 192.168.1.253/24. Normalmente los routers de hogar usan un rango CIDR de/24o su equivalente mascara de subred255.255.255.0. Revise el manual de su router para más información. - Deshabilitar cliente DHCP:
nmcli con mod enp1s0 ipv4.method manual. - Configurar el IP del router:
nmcli con mod enp1s0 ipv4.gateway 192.168.1.254. Normalmente el router se asigna un IP estático que es el penúltimo IP del rango de IPs. - Configurar Technitium como DNS y Cloudflare como DNS de respaldo:
nmcli con mod enp1s0 ipv4.dns "192.168.1.10 1.1.1.1". Si gusta usar otro DNS como el de Google, puede cambiarlo. - Reactivar el dispositivo para que surtan efecto los cambios:
nmcli con up enp1s0. Esto puede terminar la sesión SSH. de ser así, vuelva a hacersshal servidor. - Acceder a Technitium a través de https://192.168.1.10/.
- Crear un usuario admin y una contraseña. Se recomienda nuevamente el uso de Bitwarden para lo mismo.
- Navegar a la pestaña
Settings. - En la pestaña
General, asegurarse que el campoEnable DNSSEC Validationesté habilitado. - Navegar a la pestaña
Web Servicey habilitar la opciónEnable HTTP to HTTPS Redirection. El resto de las opciones debieron ser configuradas en eltechnitium-stack.yml. - Navegar a la pestaña
Blockingy configurar.- Seleccionar
Any Addresspara la opciónBlocking Type. - Agregar direcciones de listas de bloqueo a la lista de
Allow/Block List URLs. Algunas recomendaciones de paginas donde conseguir listas: https://easylist.to/ y https://firebog.net/.
- Seleccionar
- Navegar a la pestaña
Proxy & Forwardersy seleccionarCloudflare (DNS-over-HTTPS). Debería agregar a la lista deForwardersy seleccionarDNS-over-HTTPScomo elForwarder Protocol. Si desea usar un proveedor o protocolo diferente puede seleccionar o configurar uno diferente aquí. - Navegar a la pestaña
Zonesy configurar:- Hacer clic en el botón
Add Zone. Zone:lan.- Hacer clic en el botón
Add. - Hacer clic en el botón
Add Record. Name:server. Esto configurará nuestro servidor en nuestro dominiolanya que el servidor tiene IP estático y no usa DHCP.IPv4 Address:192.168.1.253. Use el IP estático que le asignó al servidor.- Hacer clic en el botón
Add Record. Name:homeassistant. Esto configurará Home Assistant en nuestro dominiolancon una IP estática ya que no usará DHCP. Aún no hemos creado el servicio de Home Assistant, pero su IP estará lista.IPv4 Address:192.168.1.11. Use el IP estático que le asignó a Home Assistant enhome-assistant-stack.yml.- Hacer clic en el botón
Add Record. Name:technitium. Esto configurará Technitium en nuestro dominiolanya que no se agrega a si mismo.IPv4 Address:192.168.1.10. Use el IP estático que le asignó a Technitium entechnitium-stack.yml.- Hacer clic en el botón
Back. - Si no va a exponer su servidor al internet, puede omitir el resto de este paso.
- Hacer clic en el botón
Add Zone. Zone:micasa.duckdns.org. Use el subdominio que registró en DuckDNS.org.- Hacer clic en el botón
Add. - Hacer clic en el botón
Add Record. Name:@. Esto configurará la raíz del subdominio a que apunte a nuestro servidor.IPv4 Address:192.168.1.253. Use el IP estático que le asignó al servidor.- Hacer clic en el botón
Add Record. Name:*. Esto configurará un subdominio comodín a que apunte a nuestro servidor.IPv4 Address:192.168.1.253. Use el IP estático que le asignó al servidor.- Hacer clic en el botón
Back.
- Hacer clic en el botón
- Si alguna página está siendo bloqueada y no desea bloquearla, Navegar a la pestaña
Allowedy agregar el dominio a la lista.
Dependiendo de su hardware, el DHCP se configurará de manera diferente. Por favor seleccione la opción que se ajuste a su situación. Si tiene control sobre del DNS que el DHCP de su router provee, seleccione Configurar DHCP del router. De lo contrario, seleccione Configurar DHCP de Technitium.